#define _CRT_SECURE_NO_WARNINGS 1
#include"priority_queue.h"

void test_priority_queue1()
{
	sbh::priority_queue<int> pq;
	pq.push(1);
	pq.push(3);
	pq.push(10);
	pq.push(8);
	pq.push(7);
	pq.push(5);

	std::cout << pq.size() << std::endl;
	while (!pq.empty())
	{
		std::cout << pq.top() << " ";
		pq.pop();
	}
	std::cout << std::endl;
	std::cout << pq.size() << std::endl;
}

void test_priority_queue2()
{
	std::vector<int> v;
	v.push_back(1);
	v.push_back(3);
	v.push_back(10);
	v.push_back(8);
	v.push_back(7);
	v.push_back(5);
	sbh::priority_queue<int, std::vector<int>, sbh::greater<int>> pq(v.begin(),v.end());

	std::cout << pq.size() << std::endl;
	while (!pq.empty())
	{
		std::cout << pq.top() << " ";
		pq.pop();
	}
	std::cout << std::endl;
	std::cout << pq.size() << std::endl;
}

int main()
{
	test_priority_queue2();

	return 0;
}